function main() {
    Java.perform(function x() {
        
        Interceptor.attach(Module.getExportByName('libc.so', 'send'), {
            //每次read函数调用的时候会执行onEnter回调函数
            onEnter: function (args) {
              const numBytes = args[2].toInt32()
              if(numBytes>0){
                console.log('-------------send-----------------')
                // console.log('------------->'+args[2])
                console.log(hexdump(args[1], {
                  offset: 0,
                  length: numBytes,
                  header: true,
                  ansi: true
                }));
                // console.log(
                // Thread.backtrace(this.context, Backtracer.ACCURATE)
                // .map(DebugSymbol.fromAddress).join('\n') + '\n');
              }
          
            }
          });
         
          Interceptor.attach(Module.getExportByName('libc.so', 'recv'), {
           
            onEnter: function (args) {
            
              const numBytes = args[2].toInt32()
         //     if(numBytes<800){
                console.log('-------------recv-----------------')
                // console.log('------------->'+args[0])
                // console.log('------------->'+args[1])
                // console.log('------------->'+args[2])
                // console.log(hexdump(args[1], {
                //   offset: 0,
                //   length: numBytes,
                //   header: true,
                //   ansi: true
                // })); 

         //       console.log(
         //       Thread.backtrace(this.context, Backtracer.ACCURATE)
         //       .map(DebugSymbol.fromAddress).join('\n') + '\n');
        //      }
          
            },
            onLeave: function (retval) {
       
          
              console.log("retval is :", retval)  
      //        console.log(hexdump((retval) ))
         }
          });

        
    })
}
 

setImmediate(main)
 

//frida -U com.immomo.momo:im -l momov3hooksend.js


